Skip to content

Conversation

@t-b
Copy link
Collaborator

@t-b t-b commented Jul 29, 2025

This is a collaborative work to decruft ipfx. The goal is to make it usable with newer python/numpy/pynwb versions.

The tests without LIMS pass here locally with python 3.9-3.14rc2, numpy 2.32 and pynwb 3.1.2.

PYNWB_NO_CACHE_DIR=1 SKIP_LIMS=true TEST_INHOUSE=false pytest tests

ToDos:

Close #561
Close #567

@t-b t-b marked this pull request as ready for review July 29, 2025 20:46
@t-b t-b marked this pull request as draft July 29, 2025 20:46
@t-b t-b force-pushed the science-staging-v2 branch 2 times, most recently from 9f05b10 to 2f07edc Compare August 19, 2025 13:54
@t-b t-b self-assigned this Aug 19, 2025
gouwens and others added 23 commits August 26, 2025 20:54
Fix somes invalid imports introduced in the previous commits.
Also support numpy v1 and v2 with a fallback import.
This probably changed with some python upgrade.
Since numpy 1.18 creating ragged arrays requires explit opt-in via
dtype-object [1].

Let's to that then.

[1]: numpy/numpy#14794
ic_electrodes was renamed to icephys_electrodes and the same for
add_ic_electrode/create_ic_electrode.
Since pynwb 1.1.0 the unit for stimuli are hardcoded, but supplying a
different one gives a warning. So let's just pass in the correct one.

[1]: NeurodataWithoutBorders/pynwb#1186 (comment)
The SweepTable was the first icephys table for grouping different patch
clamp series together, see NeurodataWithoutBorders/pynwb@21f91920 (Add a
SweepTable for icephys data, 2018-11-02) for pynwb 0.6.0.

This was superseeded by the icephys metadata tables introduced in pynwb
2.0.0 and finally removed in 3.0.0.

While migrating to the icephys metadata tables is on the list [1], we
don't want to do this here now.

So let's add a nasty hack for injecting a sweep table.

[1]: AllenInstitute/IPNWB#47
This is removed in python 3.12. And we can also directly use __version__.
… module

This is removed in python 3.12.

We can leverage the importlib.resources module introduced in python 3.9
instead.
…ackage

This is required for the python 3.14 CI job as not all packages ship
wheels.
@t-b t-b force-pushed the science-staging-v2 branch from 2f07edc to ff29bb0 Compare August 26, 2025 18:58
This is required for the python 3.14-rc on premise job as not all packages
ship wheels.
@t-b t-b closed this Aug 27, 2025
@t-b t-b deleted the science-staging-v2 branch August 27, 2025 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update supported python versions in setup.py Cannot build on Python 3.12

3 participants